package cn.ryh.gat1400.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * @author Raoyh
 * @Description
 * @create 2022-09-05 10:58
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class Person {
    /**
     * 人员标识
     */
    @JsonProperty("PersonID")
    private String personId;
    /**
     * 信息分类
     */
    @JsonProperty("InfoType")
    private String infoType;
    /**
     * 来源标识
     */
    @JsonProperty("SourceID")
    private String sourceId;
    /**
     * 设备编码
     */
    @JsonProperty("DeviceID")
    private String deviceId;

    /**
     * 左上角X坐标
     */
    @JsonProperty("LeftTopX")
    private Integer leftTopX;
    /**
     * 左上角 Y 坐标
     */
    @JsonProperty("LeftTopY")
    private Integer leftTopY;

    /**
     * 右下角 X 坐标
     */
    @JsonProperty("RightBtmX")
    private Integer rightBtmX;

    /**
     * 右下角 Y 坐标,人脸区域，自动采集记录时为必选
     */
    @JsonProperty("RightBtmY")
    private Integer rightBtmY;

    /**
     * 位置标记时间
     */
    @JsonProperty("LocationMarkTime")
    private String locationMarkTime;

    /**
     * 人员出现时间
     */
    @JsonProperty("PersonAppearTime")
    private String personAppearTime;

    /**
     * 人员消失时间
     */
    @JsonProperty("PersonDisAppearTime")
    private String personDisAppearTime;

    /**
     * 证件种类
     */
    @JsonProperty("IDType")
    private String idType;

    /**
     * 证件号码
     */
    @JsonProperty("IDNumber")
    private String idNumber;

    /**
     * 姓名
     */
    @JsonProperty("Name")
    private String name;

    /**
     * 曾用名，曾经在户籍管理部门正式登记注册、人事档案正式记载的姓氏名称
     */
    @JsonProperty("UsedName")
    private String usedName;

    /**
     * 绰号，使用姓名及曾用名之外的名称
     */
    @JsonProperty("Alias")
    private String alias;

    /**
     * 性别代码
     */
    @JsonProperty("GenderCode")
    private String genderCode;

    /**
     * 年龄上限,最大可能年龄
     */
    @JsonProperty("AgeUpLimit")
    private int ageUpLimit;

    /**
     * 年龄下限,最小可能年龄
     */
    @JsonProperty("AgeLowerLi")
    private int ageLowerLi;

    /**
     * 民族代码,中国各名族的罗马字母拼写法和代码
     */
    @JsonProperty("EthicCode")
    private String ethicCode;

    /**
     * 国籍代码,世界各国和地区名称代码
     */
    @JsonProperty("NationalityCode")
    private String nationalityCode;

    /**
     * 籍贯省市县代码
     */
    @JsonProperty("NativeCityCode")
    private String nativeCityCode;

    /**
     * 居住地 行政区划
     */
    @JsonProperty("ResidenceAdminDivision")
    private String residenceAdminDivision;

    /**
     * 汉语口音代码,汉语口音编码规则
     */
    @JsonProperty("ChineseAccentCode")
    private String chineseAccentCode;

    /**
     * 单位名称
     */
    @JsonProperty("PersonOrg")
    private String personOrg;

    /**
     * 职业类别代码
     */
    @JsonProperty("JobCategory")
    private String jobCategory;

    /**
     * 同行人数，
     */
    @JsonProperty("AccompanyNumber")
    private Integer accompanyNumber;

    /**
     * 身高上限,人的身高最大可能值，单位为厘米（cm）
     */
    @JsonProperty("HeightUpLimit")
    private Integer heightUpLimit;
    /**
     * 身高下限,人的身高最小可能值，单位为厘米（cm）
     */
    @JsonProperty("HeightLowerLimit")
    private Integer heightLowerLimit;

    /**
     * 体系
     */
    @JsonProperty("BodyType")
    private String bodyType;
    /**
     * 肤色
     */
    @JsonProperty("SkinColor")
    private String skinColor;

    /**
     * 发型
     */
    @JsonProperty("HairStyle")
    private String hairStyle;

    /**
     * 发色
     */
    @JsonProperty("HairColor")
    private String hairColor;

    /**
     * 姿态
     */
    @JsonProperty("Gesture")
    private String gesture;

    /**
     * 状态
     */
    @JsonProperty("Stauts")
    private String stauts;


    /**
     * 脸型
     */
    @JsonProperty("FaceStyle")
    private String faceStyle;

    /**
     * 脸部特征
     */
    @JsonProperty("FacialFeature")
    private String facialFeature;

    /**
     * 体貌特征
     */
    @JsonProperty("PhysicalFeature")
    private String physicalFeature;

    /**
     * 体变特征
     */
    @JsonProperty("BodyFeature")
    private String bodyFeature;
    /**
     * 习惯动作
     */
    @JsonProperty("HabitualMovement")
    private String habitualMovement;
    /**
     * 行为
     */
    @JsonProperty("Behavior")
    private String behavior;
    /**
     * 行为描述
     */
    @JsonProperty("BehaviorDescription")
    private String behaviorDescription;

    /**
     * 附属物
     */
    @JsonProperty("Appendant")
    private String appendant;
    /**
     * 附属物描述
     */
    @JsonProperty("AppendantDescription")
    private String AppendantDescription;

    /**
     * 伞颜色
     */
    @JsonProperty("UmbrellaColor")
    private String umbrellaColor;

    /**
     * 口罩颜色
     */
    @JsonProperty("RespiratorColor")
    private String respiratorColor;

    /**
     * 帽子款式
     */
    @JsonProperty("CapStyle")
    private String capStyle;

    /**
     * 帽子颜色
     */
    @JsonProperty("CapColor")
    private String capColor;

    /**
     * 眼镜款式
     */
    @JsonProperty("GlassStyle")
    private String glassStyle;

    /**
     * 眼镜颜色
     */
    @JsonProperty("GlassColor")
    private String glassColor;
    /**
     * 围巾颜色
     */
    @JsonProperty("ScarfColor")
    private String scarfColor;

    /**
     * 包款式
     */
    @JsonProperty("BagStyle")
    private String bagStyle;

    /**
     * 包颜色
     */
    @JsonProperty("BagColor")
    private int bagColor;
    /**
     * 上衣款式
     */
    @JsonProperty("CoatStyle")
    private String coatStyle;
    /**
     * 上衣长度
     */
    @JsonProperty("CoatLength")
    private int coatLength;
    /**
     * 上衣颜色
     */
    @JsonProperty("CoatColor")
    private int coatColor;


    /**
     * 裤子款式
     */
    @JsonProperty("TrousersStyle")
    private String trousersStyle;
    /**
     * 裤子长度
     */
    @JsonProperty("TrousersLeng")
    private int trousersLen;
    /**
     * 裤子颜色
     */
    @JsonProperty("TrousersColor")
    private int trousersColor;

    /**
     * 鞋子款式
     */
    @JsonProperty("ShoesStyle")
    private String shoesStyle;
    /**
     * 鞋子颜色
     */
    @JsonProperty("ShoesColor")
    private int shoesColor;

    /**
     * 是否驾驶员 0：否；1：是；2：不确定
     */
    @JsonProperty("IsDriver")
    private String isDriver;

    /**
     * 护照证件种类
     */
    @JsonProperty("PassportType")
    private int passportType;

    /**
     * 出入境人员类别代码
     */
    @JsonProperty("ImmigrantTypeCode")
    private String immigrantTypeCode;

    /**
     * 是否涉恐人员 0：否；1：是；2：不确定
     */
    @JsonProperty("IsSuspectedTerrorist")
    private int isSuspectedTerrorist;

    /**
     * 涉恐人员编号
     */
    @JsonProperty("SuspectedTerroristNumber")
    private String suspectedTerroristNumber;

    /**
     * 是否涉案人员 0：否；1：是；2：不确定
     */
    @JsonProperty("IsCriminalInvolved")
    private int isCriminalInvolved;

    /**
     * 涉案人员专长代码
     */
    @JsonProperty("CriminalInvolvedSpecilisationCode")
    private String criminalInvolvedSpecilisationCode;

    /**
     * 体表特殊标记
     */
    @JsonProperty("BodySpeciallMark")
    private String bodySpeciallMark;

    /**
     * 作案手段
     */
    @JsonProperty("CrimeMethod")
    private String crimeMethod;

    /**
     * 作案特点代码
     */
    @JsonProperty("CrimeCharacterCode")
    private String crimeCharacterCode;

    /**
     * 在逃人员编号
     */
    @JsonProperty("EscapedCriminalNumbe")
    private String escapedCriminalNumbe;

    /**
     * 是否在押人员 0：否；1：是；2：不确定，人工采集必填
     */
    @JsonProperty("IsDetainees")
    private int isDetainees;

    /**
     * 看守所编码
     */
    @JsonProperty("DetentionHouseCode")
    private String detentionHouseCode;

    /**
     * 在押人员身份
     */
    @JsonProperty("DetaineesIdentity")
    private String detaineesIdentity;

    /**
     * 在押人员特殊身份
     */
    @JsonProperty("DetaineesSpecialIdentity")
    private String detaineesSpecialIdentity;

    /**
     * 成员类型代码
     */
    @JsonProperty("MemberTypeCode")
    private String memberTypeCode;

    /**
     * 是否被害人 0：否；1：是；2：不确定
     */
    @JsonProperty("IsVictim")
    private int isVictim;

    /**
     * 被害人种类
     */
    @JsonProperty("VictimType")
    private String victimType;

    /**
     * 受伤害程度
     */
    @JsonProperty("InjuredDegree")
    private String injuredDegree;

    /**
     * 尸体状况代码
     */
    @JsonProperty("CorpseConditionCode")
    private String corpseConditionCode;

    /**
     * 是否可疑人 0：否；1：是；2：不确定
     */
    @JsonProperty("IsSuspiciousPerson")
    private int isSuspiciousPerson;

    /**
     * 图像列表,可以包含 0 个或者多个子图像对象
     */
    @JsonProperty("SubImageList")
    private SubImageList subImageInfoList;
}
